
$(function(){

    /*************************左边下拉菜单/*************************/
    $("#left-menu li ul").hide();
    $("#left-menu li a.active").parent().find("ul").slideToggle("fast");
    $("#left-menu li a.nav-top-item").click(function(){
        $(this).parent().siblings().find("a").removeClass('active');
        $(this).addClass('active');
        $(this).parent().siblings().find("ul").slideUp("fast");
        $(this).next().slideToggle("fast");
        return false;
    });

    $("#left-menu li ul li a").click(function(){
        $(this).parent().siblings().find("a").removeClass('active');
        $(this).addClass('active');
    });


    //必填字段判断
    // $('.must').blur(function(){
    //     if($(this).val()==''){
    //         alert('该字段不能为空');
    //     }
    // });

    $("form[name='addFunction']").submit(function(){
        var radioVal = $("input:radio[name='isPa']:checked").val();
        var radioType = $("input:radio[name='f_type']:checked").val();
        if($('#f_zh_name').val()==''){
            alert('中文名称不能为空！');
            return false;
        }
        if($('#f_name').val()==''){
            alert('方法名称不能为空！');
            return false;
        }
        if(radioVal=='1'){
            if($('.p_name').val()==''){
                alert('参数名称不能为空！');
                return false;
            }else if($('.p_desc').val()==''){
                alert('参数描述不能为空！');
                return false;
            }
        }
        if($('#f_desc').val()==''){
            alert('方法描述不能为空！');
            return false;
        }
        if($('#f_success').val()==''){
            alert('成功返回字段不能为空！');
            return false;
        }
        if($('#f_error').val()==''){
            alert('失败返回字段不能为空！');
            return false;
        }
        return true;
    });

    /*************************ajax增删改/*************************/


    //增加模块
    $('#addModuleShow').click(function(){
        $(this).text('确认添加');
        $('#add_text').removeClass('hidden');
        var id = $('#p_id').val();
        var mo_name = $('#mo_name').val();
        var mo_e_name = $('#mo_e_name').val();
        if(mo_name!='' && mo_e_name!=''){
            $.ajax({
                url : addModule,
                type : 'POST',
                dataType:'json',
                data:{p_id:id,mo_name:mo_name,mo_e_name:mo_e_name},
                success:function(data){
                    createModule(data);
                    $('#add_text').addClass('hidden');
                    $('#addModuleShow').text('添加模块');
                    reset('#mo_name');
                    reset('#mo_e_name');
                }
            });
        }
    });

    //关闭添加方法的窗口
    $('#close').click(function(){
        $('#content-fixed').addClass('hidden');
        $('#content-text').removeClass('hidden');
        $('.content').css('padding-left','22px');
    });


    //删除模块
    $('.mo-li').find('.remove-module').click(function(){
        var obj = $(this).parent();
        var mo_id = $(this).attr('data-id');
        if(confirm('确定要删除该模块吗？')){
            deleteModule(mo_id,obj);
        }
    });

    //删除模块下的方法
    $('.mo-li').find('.remove-fun').click(function(){
        var obj = $(this).parent();
        var f_id = $(this).attr('data-id');
        if(confirm('确定要删除该方法吗？')){
            deleteFunction(f_id,obj);
        }
    });

    //增加方法
    // $('#addFun').click(function(){
    //     var moId = $('#mo_id').val(),
    //         fName = $('#f_name').val(),
    //         fZhName = $('#f_zh_name').val(),
    //         fUrl = $('#f_url').val(),
    //         fType  =$('#f_type').val(),
    //         fDesc = $('#f_desc').val(),
    //         fAl = $('#f_al').val(),
    //         fSuccess = $('#f_success').val(),
    //         fError = $('#f_error').val(),
    //         fRemark = $('#f_remark').val(),
    //     // var arr = {};
    //     //     arr = $("selete[name='p_type[]']").val(),
    //     //     arr = $("input[name='p_name[]']").val(),
    //     //     arr = $("input[name='p_desc[]']").val(),
    //     //     arr = $("selete[name='p_is_null[]']").val();
    //         paGroup = $('#addPaGroup').serialize();
    //         alert(paGroup);
    //     $.ajax({
    //         url:addFunction1,
    //         type:'POST',
    //         dataType:'json',
    //         data:{mo_id:moId,f_name:fName,f_zh_name:fZhName,f_url:fUrl,f_type:fType,mo_id:moId,f_desc:fDesc,f_al:fAl,f_success:fSuccess,f_error:fError,f_remark:fRemark,paGroup:paGroup},
    //         success:function(data){
    //             if(data.info!=null){
    //                 alert(data.info);
    //             }
    //             var obj = $('#mo_id').attr('data-id');
    //             createFunction(obj,data);
    //             $('#content-fixed').addClass('hidden');
    //             $('#content-text').removeClass('hidden');
    //             $('.content').css('padding-left','22px');
    //             reset('.form-control');
    //         }
    //     });
    // });

    //获取所有的增加按钮
    $('#left-menu').find('.mo-li .glyphicon-plus').click(function(){
        reset('.form-control');
        var id = $(this).attr('data-id');
        var name = $(this).attr('data-name');
        showFunBox(id,name);
    });

});

//创建模块
function createModule(data){
    var cLi = document.createElement('li');
    cLi.setAttribute('id','mo-li-'+data.mo_id);
    $('#left-menu').append(cLi);
    var cA = document.createElement('a');
    cA.setAttribute('id','oa'+data.mo_id);
    cA.setAttribute('class','nav-top-item');
    cA.setAttribute('href','javascript:;');
    cA.onclick = function(){
        $(this).parent().siblings().find("a").removeClass('active');
        $(this).addClass('active');
        $(this).parent().siblings().find("ul").slideUp("fast");
        $(this).siblings('ul').slideToggle("fast");
        return false;
    }
    $('#mo-li-'+data.mo_id).append(cA);
    $('#oa'+data.mo_id).text(data.mo_name+'('+data.mo_e_name+')');
    var cS = document.createElement('span');
    cS.setAttribute('id','os'+data.mo_id);
    cS.setAttribute('class','icon glyphicon glyphicon-plus');
    cS.setAttribute('title','增加方法');
    cS.setAttribute('data-id',data.mo_id);
    cS.setAttribute('data-name',data.mo_e_name);
    cS.onclick = function(){
        var id = this.getAttribute('data-id');
        var name = this.getAttribute('data-name');
        showFunBox(id,name);
    }
    var cS1 = document.createElement('span');
    cS1.setAttribute('id','os1'+data.mo_id);
    cS1.setAttribute('class','icon glyphicon glyphicon-remove');
    cS1.setAttribute('title','删除当前模块');
    cS1.setAttribute('data-id',data.mo_id);
    cS1.onclick = function(){
        var obj = this.parentNode;//获取父节点
        var mo_id = this.getAttribute('data-id');
        if(confirm('确定要删除该模块吗？')){
            deleteModule(mo_id,obj);
        }
    }
    $('#mo-li-'+data.mo_id).append(cS);
    $('#mo-li-'+data.mo_id).append(cS1);
}

//判断当前元素下是否有ul存在
function createFunction(obj,data){
    if($('#mo-li'+obj).find('ul').length>=1){
        createFunction1(obj,data);
    }else{
        var cUl = document.createElement('ul');
        cUl.setAttribute('id','ul-'+obj);
        cUl.setAttribute('class','nav');
        $('#mo-li-'+obj).append(cUl);
        createFunction1(obj,data);
    }
}

//创建模块下的方法
function createFunction1(obj,data){
    var cLi = document.createElement('li');
    cLi.setAttribute('id','oll'+data.f_id);
    $('#ul-'+obj).append(cLi);
    var cA = document.createElement('a');
    cA.setAttribute('id','oaa'+data.f_id);
    cA.setAttribute('href',""+linkUrl+"/mo_id/"+data.mo_id+"/f_id/"+data.f_id+"");
    $('#oll'+data.f_id).append(cA);
    $('#oaa'+data.f_id).text(data.f_zh_name+'('+data.f_name+')');
}


//显示添加方法的窗体
function showFunBox(id,name){
    $('#content-fixed').removeClass('hidden');
    $('#content-text').addClass('hidden');
    $('.content').css('padding-left','0');
    $('#content-fixed').find('#mo_id').val(id);
    $('#content-fixed').find('#mo_id').attr('data-id',id);
    //拼接请求url
    $('#content-fixed').find('#f_url').val();
    var newUrl = pApiHead+'/'+name;
    $('#content-fixed').find('#f_url').val(newUrl);
    var currentForm = name + id;
    $('#f_name').addClass(currentForm);
    $('.'+currentForm).blur(function(){
        var fun = $(this).val();
        $('#content-fixed').find('#f_url').val(newUrl+'/'+fun);
    });
}

//删除模块
function deleteModule(id,obj){
    $.ajax({
        url:delModule,
        type:'POST',
        dataType:'json',
        data:{mo_id:id},
        success:function(data){
            if(data.status==1){
                obj.remove();
            }
            alert(data.info);
        }
    });
}

//删除方法
function deleteFunction(id,obj){
    $.ajax({
        url:delFunction,
        type:'POST',
        dataType:'json',
        data:{f_id:id},
        success:function(data){
            alert(data.info);
            window.location.reload();
            obj.remove();
        }
    });
}

//清除文本框内容
function reset(obj){
    $(obj).val('');
}

//设置居中
function center(w,h,obj){
    var scrollTop = $(document).scrollTop();
    var top = ($(window).height() - h) / 2 + scrollTop - 100;
    var left = ($(window).width() - w) / 2;
    obj.css({
        'left':left,
        'top':top
    })
}

//拖拽
function drag(obj,box){
    var _move = false;
    obj.mousedown(function(e){
        _move = true;
        var diffX = e.clientX - parseInt(box.css('left'));
        var diffY = e.clientY - parseInt(box.css('top'));
        $(document).mousemove(function(e){
            if(_move){
                var left = e.clientX - diffX;
                var top = e.clientY - diffY;
                box.css({
                    left:left,
                    top:top,
                });
            }
        });
        $(document).mouseup(function(){
            _move = false;
        });
    });
}
